home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / F-French / (c)f1.d64 / questionnaire (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  5KB  |  190 lines

  1. 1 REM BUILD A QUIZ
  2. 100 DI=8:TA=1:REM ** DEVICE NUMBERS **
  3. 110 VC=53248:POKEVC+32,0:POKEVC+33,11:PRINTCHR$(147)
  4. 120 Z$=CHR$(13):DP=0:PS=0
  5. 130 DIM NT%(30)
  6. 140 MC=54272:FORX=MCTO54296:POKEX,0:NEXTX
  7. 150 FORX=0TO30:READZ:NT%(X)=Z:NEXTX
  8. 160 M=((PEEK(53272)AND240)/16)*1024
  9. 170 C=55296
  10. 200 PRINT"[153]     FABRICATION D'UN QUESTIONNAIRE     [146]"
  11. 210 PRINT"   L'OPTION 1 DE CE PROGRAMME EST DE"
  12. 215 PRINT"   MONTER UN QUESTIONNAIRE ET LE"
  13. 217 PRINT"   GARDER SUR CASSETTE OU DISQUETTE."
  14. 220 PRINT"   L'OPTION 2 PERMET DE RAPPELER UN"
  15. 223 PRINT"   QUESTIONNAIRE EXISTANT ET DE T'EN "
  16. 225 PRINT"   FAIRE PASSER L'EXAMEN."
  17. 227 GOSUB9000
  18. 230 PRINT"     ENTRER L'OPTION:"
  19. 240 PRINT"     1[146] FABRIQUER UN QUESTIONNAIRE":PRINT"     2[146] PASSER L'EXAMEN"
  20. 245 PRINT"     3[146] TERMINER LE PROGRAMME."
  21. 250 GETX$:IFX$=""THEN250
  22. 260 X=VAL(X$):ONXGOTO300,700,280
  23. 270 GOTO250
  24. 280 PS=0:GOSUB9000:PRINTCHR$(147)
  25. 290 END
  26. 300 NQ=0:GOSUB9200:GOSUB7500:PRINTCHR$(147)
  27. 310 OPEN9,DV,1,QN$:PRINTCHR$(147):PRINT#9,X$;Z$;
  28. 320 NQ=NQ+1:PRINT"[147]       INDIQUER TYPE DE QUESTION:"
  29. 330 PRINT"          1[146] VRAI OU FAUX":PRINT"          2[146] CHOIX MULTIPLES"
  30. 335 PRINT"          3[146] COMPLETER LA PHRASE"
  31. 340 PRINT"          4[146] FIN DE L'EXAMEN."
  32. 350 GETX$:IFX$=""THEN350
  33. 360 IF X$="4"THENT$=X$:GOTO550
  34. 365 IF X$<"1"ORX$>"3"THEN350
  35. 370 PRINT"[147]   QUESTION #";NQ;
  36. 380 X=VAL(X$):T$=X$:ONXGOTO400,450,500
  37. 390 GOTO350
  38. 400 PRINT"(VRAI OU FAUX)":O=240:L=80:GOSUB8000:A$=X$
  39. 410 PRINT"   INDIQUER LA BONNE REPONSE V[146] OU F[146]"
  40. 420 GETX$:IFX$=""THEN420
  41. 430 IF X$<>"V"AND X$<>"F"THEN420
  42. 435 PRINTCHR$(147)
  43. 440 PRINT#9,T$;Z$;A$;Z$;X$;Z$;:GOTO320
  44. 450 PRINT"(CHOIX MULTIPLE)":O=240:L=80:GOSUB8000
  45. 455 Q$=X$:PRINT" A.":O=404:L=76:GOSUB8000
  46. 460 A$=X$:PRINT" B.":O=524:GOSUB8000:B$=X$
  47. 465 PRINT" C.":O=644:GOSUB8000:C$=X$
  48. 470 PRINT" D.":O=764:GOSUB8000:D$=X$
  49. 480 PRINT"    INDIQUER LA BONNE REPONSE (A[146], B[146], C[146] OU D[146]"
  50. 485 GETX$:IFX$=""THEN485
  51. 490 IFX$<"A"ORX$>"D"THEN485
  52. 495 PRINTCHR$(147)
  53. 497 PRINT#9,T$;Z$;Q$;Z$;A$;Z$;B$;Z$;C$;Z$;D$;Z$;X$;Z$;
  54. 499 GOTO320
  55. 500 PRINT"(COMPLETER LA PHRASE)":O=240:L=80:GOSUB8000:Q$=X$
  56. 505 PRINT"   ENTRER LA BONNE REPONSE:"
  57. 510 O=600:L=80:GOSUB8000
  58. 520 PRINTCHR$(147)
  59. 530 PRINT#9,T$;Z$;Q$;Z$;X$;Z$;
  60. 540 GOTO320
  61. 550 PRINTCHR$(147)
  62. 560 PRINT#9,T$;Z$;
  63. 570 CLOSE9
  64. 580 GOTO200
  65. 700 GOSUB9200:GOSUB7500:PRINTCHR$(147)
  66. 730 OPEN9,DV,0,QN$:GOSUB6000
  67. 740 IFLEN(X$)>39THEN760
  68. 750 A$=" "+X$:X$=A$+" ":GOTO740
  69. 760 PRINT"[147]":FORX=1TO11:PRINTX$;:PRINT" ":NEXTX:GOSUB7000:FORX=1TO1500:NEXTX
  70. 770 PRINTCHR$(147):NQ=0:CQ=0
  71. 800 INPUT#9,X$
  72. 810 IF X$="4"THEN2000
  73. 820 IF X$<"1"ORX$>"3"THEN800
  74. 830 NQ=NQ+1:X=VAL(X$)
  75. 850 ONXGOTO900,1000,1100
  76. 860 GOTO800
  77. 900 GOSUB6000:Q$=X$:GOSUB6000:R$=X$
  78. 902 PRINT"[147]   QUESTION #";NQ
  79. 904 PRINT"";Q$
  80. 910 PRINT"   ENTRER V[146] POUR VRAI"
  81. 920 PRINT"   ENTRER F[146] POUR FAUX"
  82. 940 GETA$:IFA$=""THEN940
  83. 950 IFA$<>"V"ANDA$<>"F"THEN940
  84. 960 IFA$<>R$THEN1200
  85. 970 GOTO1300
  86. 1000 GOSUB6000:Q$=X$:GOSUB6000:A$=X$:GOSUB6000:B$=X$:GOSUB6000:C$=X$
  87. 1002 GOSUB6000:D$=X$:GOSUB6000:R$=X$
  88. 1006 PRINT"[147]   QUESTION #";NQ
  89. 1008 PRINT"";Q$:PRINT" A. ";A$:X$=A$:GOSUB6700
  90. 1010 PRINT " B. ";B$:X$=B$:GOSUB6700:PRINT" C. ";C$:X$=C$:GOSUB6700
  91. 1020 PRINT" D. ";D$:X$=D$:GOSUB6700
  92. 1030 PRINT"           ENTRER A[146],B[146],C[146] OU D[146]"
  93. 1040 GETA$:IFA$=""THEN1040
  94. 1050 IF A$<"A"OR A$>"D"THEN1040
  95. 1060 IFA$<>R$THEN1200
  96. 1070 GOTO1300
  97. 1100 GOSUB6000:Q$=X$:GOSUB6000:R$=X$
  98. 1102 PRINT"[147]   QUESTION #";NQ
  99. 1110 PRINT"";Q$
  100. 1120 O=480:L=80:GOSUB8000
  101. 1130 IF X$<>R$THEN1200
  102. 1140 GOTO1300
  103. 1200 GOSUB7200
  104. 1205 PRINT"[147]          LA BONNE REPONSE EST:"
  105. 1207 PRINT"                    ";R$
  106. 1210 FOR X=1TO1500:NEXTX:PRINTCHR$(147):GOTO800
  107. 1300 CQ=CQ+1:GOSUB7000
  108. 1310 PRINTCHR$(147)
  109. 1320 GOTO800
  110. 2000 PRINT"         QUESTIONNAIRE[146] TERMINE[146]"
  111. 2010 PRINT"   NOMBRE DE QUESTIONS     =";NQ
  112. 2020 PRINT"   NOMBRE DE BONNE REPONSE =";CQ
  113. 2030 IF NQ=0THENNQ=1
  114. 2040 X=INT((CQ*100)/NQ)
  115. 2050 PRINT"   VOTRE RESULTAT EST DE   ="X;"[157]%"
  116. 2060 PRINT"         (PRESSER UNE TOUCHE)"
  117. 2070 GETX$:IF X$=""THEN2070
  118. 2080 PRINTCHR$(147)
  119. 2090 CLOSE9
  120. 2100 GOTO200
  121. 6000 X$=""
  122. 6010 GET#9,R$
  123. 6020 IF R$=""THEN6010
  124. 6030 IF ASC(R$)=13THEN6060
  125. 6040 X$=X$+R$
  126. 6050 GOTO6010
  127. 6060 RETURN
  128. 6700 X=LEN(X$):IFX=36ORX=76THEN6720
  129. 6710 PRINT"[160]"
  130. 6720 RETURN
  131. 7000 POKEMC+0,0:POKEMC+1,0:POKEMC+5,15:POKEMC+6,15:POKEMC+24,10
  132. 7010 FORX=2TO11
  133. 7020 POKEVC+33,X:POKEMC+1,X*5:POKEMC+4,33
  134. 7030 FORY=1TO50:NEXTY
  135. 7040 POKEMC+4,32:FORY=1TO10:NEXTY,X
  136. 7050 POKEMC+24,0
  137. 7060 RETURN
  138. 7200 POKEMC+0,0:POKEMC+1,30:POKEMC+4,33:POKEMC+5,15:POKEMC+6,15
  139. 7210 POKEVC+33,0:POKEMC+24,10
  140. 7220 FORX=1TO500:NEXTX
  141. 7230 POKEMC+4,32:FORX=1TO20:NEXTX
  142. 7240 POKEMC+24,0:POKEVC+33,11
  143. 7250 RETURN
  144. 7500 PRINT"[147]     ENTRER LE NOM DU QUESTIONNAIRE"
  145. 7505 PRINT"     (DE 1 A 37 LETTRES)"
  146. 7510 O=648:L=38:GOSUB8000:IFLEN(X$)>37 THEN7500
  147. 7520 QN$=X$:IFLEN(X$)>11THENQN$=LEFT$(X$,11)
  148. 7530 QN$="QUIZ/"+QN$
  149. 7540 PRINT"     PREPARE LA    ";DV$
  150. 7545 PRINT"     LORSQUE PRETE PESE SUR RETURN[146]"
  151. 7550 GETE$:IFE$=""THEN7550
  152. 7560 IF ASC(E$)<>13THEN7550
  153. 7570 RETURN
  154. 8000 X$="":POKEM+O,160:POKEC+O,1
  155. 8010 GETY$:IFY$=""THEN8010
  156. 8020 X=ASC(Y$):IFX=13THEN8150
  157. 8030 IFX=20THEN8100
  158. 8040 Y=LEN(X$):X$=X$+Y$:IFX>63THENX=X-64
  159. 8050 POKEM+O+Y,X:POKEC+O+Y,1:POKEM+O+Y+1,160:POKEC+O+Y+1,1:IFLEN(X$)<LTHEN8010
  160. 8060 GOTO8150
  161. 8100 Y=LEN(X$):IFY<1THEN8010
  162. 8110 POKEM+O+Y,32:POKEC+O+Y,11:POKEM+O+Y-1,160:POKEC+O+Y-1,1
  163. 8120 Y$=LEFT$(X$,Y-1):X$=Y$:GOTO8010
  164. 8150 Y=LEN(X$):POKEM+O+Y,32:POKEC+O+Y,11
  165. 8160 RETURN
  166. 9000 IF PS=1THEN9080
  167. 9005 POKEMC+0,0:POKEMC+1,0:POKEMC+5,79:POKEMC+6,129:POKEMC+24,15
  168. 9010 FORX=0TO30
  169. 9020 Y=INT(NT%(X)/256)
  170. 9030 POKEMC+0,NT%(X)-(Y*256)
  171. 9040 POKEMC+1,Y:POKEMC+4,17
  172. 9050 FORY=1TO70:NEXTY
  173. 9060 POKEMC+4,16:FORY=1TO10:NEXTY,X
  174. 9070 POKEMC+24,0:PS=1
  175. 9080 RETURN
  176. 9200 IF DP=1THEN9280
  177. 9205 PRINT"[147]   VA TU UTILISER LA CASSETTE OU LA"
  178. 9210 PRINT"   DISQUETTE POUR GARDER OU CHARGER"
  179. 9215 PRINT"   LE QUESTIONNAIRE?"
  180. 9220 PRINT"          ENTRER  C[146]  OU  D[146]"
  181. 9230 GETX$:IFX$=""THEN9230
  182. 9240 IFX$="D"THENDV=DI:DV$="DISQUETTE":GOTO9270
  183. 9250 IFX$="C"THENDV=TA:DV$="CASSETTE":GOTO9270
  184. 9260 GOTO9230
  185. 9270 DP=1
  186. 9280 RETURN
  187. 9900 DATA6430,6430,6430,4817,8101,8101,8101,6430,6430,8101,9634,9634
  188. 9910 DATA8583,8101,7217,0,7217,8101,8583,8583,8101,7217
  189. 9920 DATA8101,6430,6430,8101,7217,4817,6069,7217,6430
  190.